<?php
class Validator_UniqueNickname extends Zend_Validate_Abstract
{
    const NOT_UNIQUE = 'notUnique';

    /*
     * Сообщения об ошибках валидации
     */
    protected $_messageTemplates = array(
        self::NOT_UNIQUE => "Логін ".$value." вже зайнятий";
    );

    public function isValid($value)
    {
        $this->_setValue($value);
        $isValid = true;

        /*
         * Метод User::checkLogin проверяет используется ли в базе такой логин,
         * если да, то возвращает user id
         */
        $userId = $this->_managerUsers->ValidLogin($value);
        if ($userId) {
            $this->_error(self::NOT_UNIQUE);
            $isValid = false;
        }
        return $isValid;
    }
}